public class Main{
	public static void main(String[] args) {
		int[] ns = {1,23,4,5,6,9};

		for(int i=0; i<ns.length; i++){
			int n = ns[i];
			System.out.println(n);
		}


		//第二种方式是使用for each循环，直接迭代数组的每个元素：
		// 遍历数组
		for(int n : ns){
			System.out.println(n);
		}
		//注意：在for (int n : ns)循环中，变量n直接拿到ns数组的元素，而不是索引。


		// 打印数组内容
		//直接打印数组变量，得到的是数组在JVM中的引用地址
		int[] ns = { 1, 1, 2, 3, 5, 8 };
		System.out.println(ns); //类似 [I@7852e922


		//这并没有什么意义，因为我们希望打印的数组的元素内容。因此，使用for each循环来打印它
		int[] ns = { 1, 1, 2, 3, 5, 8 };
		for (int n : ns) {
		    System.out.print(n + ", ");
		}


		//请按倒序遍历数组并打印每个元素：
		int[] ns = { 1, 4, 9, 16, 25 };
        // 倒序打印数组元素:
        for (int i=ns.length-1; i>=0; i--) {
            System.out.println("这是第" + i + "个数组:" + ns[i] + " , ");
        }

	}
}

/*
为了实现for循环遍历，初始条件为i=0，因为索引总是从0开始，继续循环的条件为i<ns.length，因为当i=ns.length时，i已经超出了索引范围（索引范围是0 ~ ns.length-1），每次循环后，i++。


注意：在for (int n : ns)循环中，变量n直接拿到ns数组的元素，而不是索引。

显然for each循环更加简洁。但是，for each循环无法拿到数组的索引，因此，到底用哪一种for循环，取决于我们的需要。

*/